Partie 1 :

onCreate();
delete(Uri, String, String[]);
getType(Uri);
insert(Uri, ContentValues);
query(Uri, String[], String, String[], String);
update(Uri, ContentValues, String, String[]);

Partie 2 : 


Recette n 04 Partager les fichiers de son application
Page 10

public class MyAppProvider extends ContentProvider {

   DatabaseHelper mDatabase;
   private static final int RECORDS = 1; 
   public static final Uri CONTENT_URI = Uri
      parse("content://"+AUTHORITY+"myservice");
   public static final String AUTHORITY = "com.myapp.contentprovider";
   

   private static final UriMatcher matcher = new UriMatcher(
      UriMatcher.NO_MATCH);
      
   static {
      matcher.addURI(AUTHORITY, "records", RECORDS);
   }
}





@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
   return 0; 
}

@Override
public String getType(Uri uri) {
   int matchType = matcher.match(uri);
   switch (matchType) {
      case RECORDS: 
         return ContentResolver.CURSOR_DIR_BASE_TYPE + "/records";
      default:
         throw new IllegalArgumentException("URI invalide : " + uri);
   }
}

@Override
public Uri insert(Uri uri, ContentValues values) {
   long id = mDatabase.getWritableDatabase().insert(Helper.TABLE_NAME,
      null, values); 
   uri = Uri.withAppendedPath(uri, "/" + id);
   return uri;
}


@Override
public boolean onCreate() {
   return true;
}


@Override
public Cursor query(Uri uri, String[] projection, String selection,
   String[] selectionArgs, String sortOrder) {

   SQLiteQueryBuilder qBuilder = new SQLiteQueryBuilder();
   qBuilder.setTables(Helper.TABLE_NAME);
   int uriType = matcher.match(uri);

   Cursor resultCursor = qBuilder.query(mDatabase.getWritableDatabase(),
      projection, selection, selectionArgs, null, null, sortOrder,
      null);
   resultCursor.setNotificationUri(getContext().getContentResolver(), uri);
   return resultCursor;

}


@Override
public int update(Uri uri, ContentValues values, String selection,
   String[] selectionArgs) {
   return 0; 
}
